package com.qclix.inv.pdf;

import com.qclix.inv.Invoice;
import com.qclix.inv.Timesheet;

/**
 * Defines the PDF creation service calls
 */
public interface PDFCreator {

    /**
     * Creates a PDF from an invoice and returns it as a String
     * @param invoice the invoice to generate
     * @return a String containing the PDF.
     */
    public byte[] getPDF(Invoice invoice);

    /* Creates a PDF from a timesheet and returns it as a String
     * @param timesheet the invoice to generate
     * @return a String containing the PDF.
     * @throws PDFCreationException in case of technical exception
     */
    public byte[] getPDF(Timesheet timesheet);
}
